1. Field of the Invention
The present invention relates to graphical systems for creating and executing data flow programs, and more specifically to a graphical programming system and method having three-dimensional nodes with formatted or pre-defined input characteristics, wherein sides or faces of the three-dimensional nodes are pre-defined to receive inputs of a certain type.
2. Description of the Related Art
In the field of instrumentation, computer systems are employed to model physical systems and emulate or control test and measurement hardware. An instrument is a device which collects information from an environment and displays this information to a user. Examples of various types of instruments include oscilloscopes, digital multimeters, pressure sensors, etc. Types of information which might be collected by respective instruments include: voltage, resistance, distance, velocity, pressure, frequency of oscillation, humidity or temperature, among others. An instrumentation system typically includes a general purpose computer system which controls its constituent instruments from which it acquires data which it analyzes, stores and presents to a user of the system.
Computer control of instrumentation has become increasingly desirable in view of the increasing complexity and variety of instruments available for use. U.S. Pat. Nos. 4,901,221 and 4,914,568 to Kodosky et al disclose a graphical system and method, i.e. a graphical programming environment, for modeling a process and for emulating or controlling instruments. The system and method disclosed in Kodosky et al allows a user to create a program by connecting graphical objects or nodes in a data flow manner. As the user constructs the data flow program, machine language instructions are automatically constructed which characterize an execution procedure which corresponds to the displayed procedure. Therefore, a user can create a text-based computer program solely by using a graphically based programming environment. This graphically based programming environment may be used for creating virtual instrumentation systems and modeling processes as well as for any type of general programming.
When a graphical data flow program, also referred to as an iconic program, is created, each graphical object or node has one or more inputs for receiving data and one or more outputs for producing data. The graphical data flow program may also include one or more structure nodes which perform sequencing or looping functions in the program. When the program is executed, each node executes when it has received data at all of its inputs. Thus each node executes in turn and produces data on its one or more outputs that are provided to other nodes in the system.
One problem with creating a graphical data flow program, as with any program, is debugging the program to correct errors. In a graphical programming environment, it is important to properly connect the inputs and outputs of the various nodes to avoid errors. U.S. Pat. Nos. 4,901,221 and 4,914,568 to Kodosky et al disclose a graphical system where the wires or connectors between nodes have different widths and colors corresponding to the different types of data propagating along the wire. This enables the user to more easily see which data types are connected to which node inputs, thus facilitating debugging. If the user connects the wrong data type to an input of a node, the system "breaks the wire" to the node, thus informing the user of the error.
However, it would be highly desirable for a graphical programming system to have more intuitive control characteristics and debugging features which provide a greater amount of error checking information to the user.